import { Component } from "vue";

// 控制面板类型
export enum Controls {
     PIEECHART='pieEchart',
     LINEECHART='lineEchart'    
}


// 状态
interface StoreItem {
    w: Number,
    h: Number, 
    x: Number,
    y: Number,
    zIndex:Number, // 层级
    uid: String,
    selectCon: Boolean,  // 是否被选中
    ikey: String,  // 表示符号
}
export type StroeType = {
    [key: string]: StoreItem
}

// 信息类型
interface MaterialType{
          uid:String, // 唯一标识
          component:String, // 组件名称
          isCloud:Boolean, // 是否为云组件
          name:String,     // 名称 
          avatarurl:String, // 图片地址
          ControlType:Controls.PIEECHART | Controls.LINEECHART  // 可视化控制面板模板类型
}

// 本地组件
interface MaterComponents {
      [key:string]:Component
}

 


// 物料的属性类型 
export type MaterialAttrTypeItem = Partial<StoreItem & MaterialType>;
export type MaterComponent = MaterComponents;